package cc.lucien.annotaion;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 自定义注解
 */
public class Test02 {

    @MyAnnotation2(name = "张三")
    public void test01(){
        System.out.println("test01");
    }

    @MyAnnotation3("李四")
    public void test02(){

    }

}



//自定义注解
@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation2{
    // 注解的参数： 参数类型  + 参数名();
    String name() default "";
    int age() default 0;
    int id() default -1;

    String[] schools() default {"西北民大"};

}

@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation3{
    /**
     * 当注解有且只有一个参数的时候
     * 可以用value，在使用的注解的时
     * 可直接@MyAnnotation("李四")使用，不用确定参数名
     * @return
     */
    String value();
}